package com.ruoyi.storage.service;

import java.util.List;
import com.ruoyi.storage.domain.EntryRecord;
import com.ruoyi.storage.domain.ItemDetail;

/**
 * 入库Service接口
 * 
 * @author 庞一恺
 * @date 2025-01-20
 */
public interface IEntryRecordService 
{
    /**
     * 查询入库
     * 
     * @param entryRecordId 入库主键
     * @return 入库
     */
    public EntryRecord selectEntryRecordByEntryRecordId(Integer entryRecordId);

    /**
     * 查询入库列表
     * 
     * @param entryRecord 入库
     * @return 入库集合
     */
    public List<EntryRecord> selectEntryRecordList(EntryRecord entryRecord);

    /**
     * 新增入库
     * 
     * @param entryRecord 入库
     * @return 结果
     */
    public int insertEntryRecord(EntryRecord entryRecord);

    /**
     * 完善信息并入库
     *
     * @param entryRecord 入库
     * @param zoneId
     * @return 结果
     */
    public int updateEntryRecord(EntryRecord entryRecord, List<ItemDetail> itemDetailList, Integer zoneId);

    /**
     * 批量删除入库
     * 
     * @param entryRecordIds 需要删除的入库主键集合
     * @return 结果
     */
    public int deleteEntryRecordByEntryRecordIds(Integer[] entryRecordIds);

    /**
     * 删除入库信息
     * 
     * @param entryRecordId 入库主键
     * @return 结果
     */
    public int deleteEntryRecordByEntryRecordId(Integer entryRecordId);

    /**
     * 获取入库详情
     *
     * @param batchId 入库主键
     * @return 结果
     */
    public List<ItemDetail> getEntryItemDetailList(String batchId);
}
